package com.fg.cloud.manager.entry.product.vo;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import com.fg.cloud.common.construction.ResultMap;
import com.fg.cloud.common.construction.ResultSelect;
import com.fg.cloud.manager.entry.product.ProductInfoEntity;
import com.google.common.collect.Lists;

/**
 * 产品信息Vo
 * @author around
 * @date 2017-7-6
 */
public class ProductInfoVo extends ProductInfoEntity implements Serializable {

	private static final long serialVersionUID = -1432063287885777467L;
	
	private boolean buyShow = false;
	
	/** 规格 */
	private String spec;
	
	/** 分类名字 */
	private String categoryName;

	/** 默认SKU对象 */
	private ProductSkuVo sku;
	
	/** 规格信息 */
	private List<ResultSelect> resultSpecList;
	
	/** 规格组合 */
	private List<ResultMap> resultSkuList;
	
	/** 默认产品首页显示图标
	 *  新品
	 *  热销
	 *  性价比
	 */
	private List<String> iconList = Lists.newArrayList();
	
	/** SKU规格 */
	private List<Map<String, String>> defaultSku = Lists.newArrayList();
	
	/** 是否收藏,1是,0不是 */
	private Integer collection;
	
	/** 是否自定义价格,1是,0不是 */
	private Integer isCustom;
	
	/** 规格数量 */
	//private Integer skuNum;

	//@JsonSerialize(using=CustomBigDecimalSerialize.class)
	//private BigDecimal specialPrice;// 商品特价
	
	//private BigDecimal productPrice;// 商品价格

	//private BigDecimal amount;// 销售数量
	
	//@JsonSerialize(using=CustomBigDecimalSerialize.class)
	//private BigDecimal discountPrice;
	
	//private BigDecimal defaultNumber = BigDecimal.ONE;
	
	//private Long unitId;
	
	//private String unitName;
	
	//private Integer unitNum;//单位换算数量
	
	//private Long defaultSkuId;//默认skuID
	
	//private BigDecimal stock;
	
	//private String stockContent;
	
	public Integer getIsCustom() {
		return isCustom;
	}

	public void setIsCustom(Integer isCustom) {
		this.isCustom = isCustom;
	}

	/** 多单位 */
	//private List<UnitVo> unitList;
	
	//@JsonIgnore
	//private Map<String, Set<String>> specMap;
	//@JsonIgnore
	//private Map<String, List<Select>> specSelectMap;
	//@JsonIgnore
	//private Map<String, ProductSkuVo> skuMap;

	public Integer getCollection() {
		return collection;
	}

	public void setCollection(Integer collection) {
		this.collection = collection;
	}

	public ProductSkuVo getSku() {
		return sku;
	}

	public void setSku(ProductSkuVo sku) {
		this.sku = sku;
	}

	public List<ResultSelect> getResultSpecList() {
		return resultSpecList;
	}

	public void setResultSpecList(List<ResultSelect> resultSpecList) {
		this.resultSpecList = resultSpecList;
	}

	public List<ResultMap> getResultSkuList() {
		return resultSkuList;
	}

	public void setResultSkuList(List<ResultMap> resultSkuList) {
		this.resultSkuList = resultSkuList;
	}

	public List<String> getIconList() {
		return iconList;
	}

	public void setIconList(List<String> iconList) {
		this.iconList = iconList;
	}

	public List<Map<String, String>> getDefaultSku() {
		return defaultSku;
	}

	public void setDefaultSku(List<Map<String, String>> defaultSku) {
		this.defaultSku = defaultSku;
	}

	public String getCategoryName() {
		return categoryName;
	}

	public void setCategoryName(String categoryName) {
		this.categoryName = categoryName;
	}

	public String getSpec() {
		return spec;
	}

	public void setSpec(String spec) {
		this.spec = spec;
	}

	public boolean isBuyShow() {
		return buyShow;
	}

	public void setBuyShow(boolean buyShow) {
		this.buyShow = buyShow;
	}

	/*
	public Integer getSkuNum() {
		return skuNum;
	}

	public void setSkuNum(Integer skuNum) {
		this.skuNum = skuNum;
	}
	
	public BigDecimal getSpecialPrice() {
		return specialPrice;
	}

	public void setSpecialPrice(BigDecimal specialPrice) {
		this.specialPrice = specialPrice;
	}

	public BigDecimal getAmount() {
		return amount;
	}

	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}

	public BigDecimal getDefaultNumber() {
		return defaultNumber;
	}

	public void setDefaultNumber(BigDecimal defaultNumber) {
		this.defaultNumber = defaultNumber;
	}

	public BigDecimal getStock() {
		return stock;
	}

	public void setStock(BigDecimal stock) {
		this.stock = stock;
	}

	public String getStockContent() {
		return stockContent;
	}

	public void setStockContent(String stockContent) {
		this.stockContent = stockContent;
	}

	public Integer getUnitNum() {
		return unitNum;
	}

	public void setUnitNum(Integer unitNum) {
		this.unitNum = unitNum;
	}

	public Long getDefaultSkuId() {
		return defaultSkuId;
	}

	public void setDefaultSkuId(Long defaultSkuId) {
		this.defaultSkuId = defaultSkuId;
	}
	
	public BigDecimal getProductPrice() {
		return productPrice;
	}

	public void setProductPrice(BigDecimal productPrice) {
		this.productPrice = productPrice;
	}
	
	public BigDecimal getDiscountPrice() {
		return discountPrice;
	}

	public void setDiscountPrice(BigDecimal discountPrice) {
		this.discountPrice = discountPrice;
	}

	public Long getUnitId() {
		return unitId;
	}

	public void setUnitId(Long unitId) {
		this.unitId = unitId;
	}

	public String getUnitName() {
		return unitName;
	}

	public void setUnitName(String unitName) {
		this.unitName = unitName;
	}
	
	public Map<String, Set<String>> getSpecMap() {
		return specMap;
	}

	public void setSpecMap(Map<String, Set<String>> specMap) {
		this.specMap = specMap;
	}

	public Map<String, ProductSkuVo> getSkuMap() {
		return skuMap;
	}

	public void setSkuMap(Map<String, ProductSkuVo> skuMap) {
		this.skuMap = skuMap;
	}

	public List<UnitVo> getUnitList() {
		return unitList;
	}

	public void setUnitList(List<UnitVo> unitList) {
		this.unitList = unitList;
	}

	public Map<String, List<Select>> getSpecSelectMap() {
		return specSelectMap;
	}

	public void setSpecSelectMap(Map<String, List<Select>> specSelectMap) {
		this.specSelectMap = specSelectMap;
	}*/
}
